package Presentacion;

import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.LinkedList;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

import Dominio.EmpresaCliente;
import Dominio.Pedido;
import Dominio.Productos;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;

public class VentanaProveedor extends JFrame {

	public JButton btnAnadirP;
	private JPanel contentPane;
	public JTextField txtCif;
	public JTextField txtnombre;
	public JTextField txtpais;
	public JTextField txtprovincia;
	public JTextField txtdireccion;
	public JTextField txtcp;
	public JTextField txtPrecio;
	public JTextField txtNombre;
	public JTable tableProductos;
	public JComboBox <String>cBDia;
	public JComboBox <String>cBMes;
	public JComboBox <String>cBAno;
	public JTable tableClientes;
	private JLabel lblFechaAlta;	
	private JPanel pListadoProductos;
	public JButton btnEliminarP;
	public JButton btnModificarP;
	//public JOptionPane ventanaEmergente;
	public JButton btnAnadir;
	public JButton btnModificar;
	public JButton btnEliminar;
	public JButton btnV;
	public JButton btnCerrarSesion;
	
	public VentanaExistencias vexistencias = new VentanaExistencias();
	private DefaultTableModel m = new DefaultTableModel();
	public LinkedList<Productos> listaPP = new LinkedList<Productos>();
	public LinkedList<EmpresaCliente> listaC = new LinkedList<EmpresaCliente>();
	private Productos[] producto = new Productos[9];
	private EmpresaCliente[] cliente = new EmpresaCliente[1];
	private static LinkedList<Pedido> listaPedido= new LinkedList<Pedido>();
	

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					VentanaProveedor frame = new VentanaProveedor();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public VentanaProveedor() {
		setTitle("Proveedor");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 900, 500);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		GridBagLayout gbl_contentPane = new GridBagLayout();
		gbl_contentPane.columnWidths = new int[] { 874, 0 };
		gbl_contentPane.rowHeights = new int[] { 428, 0, 0 };
		gbl_contentPane.columnWeights = new double[] { 0.0, Double.MIN_VALUE };
		gbl_contentPane.rowWeights = new double[] { 0.0, 1.0, Double.MIN_VALUE };
		contentPane.setLayout(gbl_contentPane);
		
		JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
		GridBagConstraints gbc_tabbedPane = new GridBagConstraints();
		gbc_tabbedPane.insets = new Insets(0, 0, 5, 0);
		gbc_tabbedPane.fill = GridBagConstraints.BOTH;
		gbc_tabbedPane.gridx = 0;
		gbc_tabbedPane.gridy = 0;
		contentPane.add(tabbedPane, gbc_tabbedPane);
		
		pListadoProductos = new JPanel();
		tabbedPane
				.addTab("Listado de Productos", null, pListadoProductos, null);
		GridBagLayout gbl_pListadoProductos = new GridBagLayout();
		gbl_pListadoProductos.columnWidths = new int[] { 0, 0, 114, 114, 0, 0,
				0, 0, 0, 0, 0, 21, 0, 0 };
		gbl_pListadoProductos.rowHeights = new int[] { 0, 0, 0, 0, 0, 0, 0, 0,
				86, 13, 21, 0, 0 };
		gbl_pListadoProductos.columnWeights = new double[] { 0.0, 1.0, 0.0,
				0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0,
				Double.MIN_VALUE };
		gbl_pListadoProductos.rowWeights = new double[] { 0.0, 1.0, 1.0, 0.0,
				0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, Double.MIN_VALUE };
		pListadoProductos.setLayout(gbl_pListadoProductos);
		
		JLabel lblNombre_1 = new JLabel("Nombre");
		GridBagConstraints gbc_lblNombre_1 = new GridBagConstraints();
		gbc_lblNombre_1.anchor = GridBagConstraints.SOUTHEAST;
		gbc_lblNombre_1.insets = new Insets(0, 0, 5, 5);
		gbc_lblNombre_1.gridx = 9;
		gbc_lblNombre_1.gridy = 2;
		pListadoProductos.add(lblNombre_1, gbc_lblNombre_1);

		txtNombre = new JTextField();
		GridBagConstraints gbc_txtNombre = new GridBagConstraints();
		gbc_txtNombre.anchor = GridBagConstraints.SOUTH;
		gbc_txtNombre.gridwidth = 2;
		gbc_txtNombre.insets = new Insets(0, 0, 5, 5);
		gbc_txtNombre.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtNombre.gridx = 10;
		gbc_txtNombre.gridy = 2;
		pListadoProductos.add(txtNombre, gbc_txtNombre);
		txtNombre.setColumns(10);

		JLabel lblPrecio = new JLabel("Precio");
		GridBagConstraints gbc_lblPrecio = new GridBagConstraints();
		gbc_lblPrecio.anchor = GridBagConstraints.NORTHEAST;
		gbc_lblPrecio.insets = new Insets(0, 0, 5, 5);
		gbc_lblPrecio.gridx = 9;
		gbc_lblPrecio.gridy = 3;
		pListadoProductos.add(lblPrecio, gbc_lblPrecio);
		
		txtPrecio = new JTextField();
		GridBagConstraints gbc_txtPrecio = new GridBagConstraints();
		gbc_txtPrecio.anchor = GridBagConstraints.NORTH;
		gbc_txtPrecio.gridwidth = 2;
		gbc_txtPrecio.insets = new Insets(0, 0, 5, 5);
		gbc_txtPrecio.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtPrecio.gridx = 10;
		gbc_txtPrecio.gridy = 3;
		pListadoProductos.add(txtPrecio, gbc_txtPrecio);
		txtPrecio.setColumns(10);

		JLabel label = new JLabel("");
		GridBagConstraints gbc_label = new GridBagConstraints();
		gbc_label.insets = new Insets(0, 0, 5, 5);
		gbc_label.gridx = 0;
		gbc_label.gridy = 5;
		pListadoProductos.add(label, gbc_label);

		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBorder(new TitledBorder(null, "Productos", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		GridBagConstraints gbc_scrollPane = new GridBagConstraints();
		gbc_scrollPane.gridwidth = 4;
		gbc_scrollPane.gridheight = 7;
		gbc_scrollPane.insets = new Insets(0, 0, 5, 5);
		gbc_scrollPane.fill = GridBagConstraints.BOTH;
		gbc_scrollPane.gridx = 2;
		gbc_scrollPane.gridy = 2;
		pListadoProductos.add(scrollPane, gbc_scrollPane);

		tableProductos = new JTable();
		tableProductos.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		scrollPane.setViewportView(tableProductos);
		tableProductos.setModel(new DefaultTableModel(new Object[][] {},
				new String[] {}));
		tableProductos.addMouseListener(new MouseListener() {
			public void mouseClicked(MouseEvent arg0) {
				String nombre = (String) tableProductos.getValueAt(
						tableProductos.getSelectedRow(), 1);
				String precio = (String) tableProductos.getValueAt(
						tableProductos.getSelectedRow(), 2);
				txtNombre.setText(nombre);
				txtPrecio.setText(precio);
			}

			public void mouseEntered(MouseEvent e) {
			}

			public void mouseExited(MouseEvent e) {
			}

			public void mousePressed(MouseEvent e) {
			}

			public void mouseReleased(MouseEvent e) {
			}
		});

		btnAnadirP = new JButton("A\u00F1adir");
		btnAnadirP.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String nombre = txtNombre.getText();
				String precio = txtPrecio.getText();
				boolean a = false;
				for (int i = 0; i < listaPP.size(); i++) {
					if (nombre.equals(listaPP.get(i).getNombre())) {
						//ventanaEmergente.showMessageDialog(pListadoProductos, "Este producto ya esta añadido en esta tabla");
						a = true;
					}
				}
				if (!a) {
					listaPP.add(new Productos(precio, nombre));
					tableProductos.setModel(anadirProductosP(listaPP));
					///ventanaEmergente.showMessageDialog(pListadoProductos, "Se ha añadido un nuevo Producto");
				}

			}
		});
		GridBagConstraints gbc_btnAnadirP = new GridBagConstraints();
		gbc_btnAnadirP.anchor = GridBagConstraints.EAST;
		gbc_btnAnadirP.fill = GridBagConstraints.VERTICAL;
		gbc_btnAnadirP.insets = new Insets(0, 0, 5, 5);
		gbc_btnAnadirP.gridx = 2;
		gbc_btnAnadirP.gridy = 10;
		pListadoProductos.add(btnAnadirP, gbc_btnAnadirP);
		
		btnModificarP = new JButton("Modificar");
		btnModificarP.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String nombre1 = (String) tableProductos.getValueAt(
						tableProductos.getSelectedRow(), 1);
				String nombre = txtNombre.getText();
				String precio = txtPrecio.getText();
				for (int i = 0; i < listaPP.size(); i++) {
					if (nombre1.equals(listaPP.get(i).getNombre())) {
						if (txtNombre.getText().length() == 0
								&& txtPrecio.getText().length() == 0) {
							//ventanaEmergente.showMessageDialog(pListadoProductos,
							//		"Rellena los campos, Nombre y Precio");
						} else {
							listaPP.get(i).setNombre(nombre);
							listaPP.get(i).setPrecio(precio);
							tableProductos.setModel(anadirProductosP(listaPP));
							//ventanaEmergente.showMessageDialog(pListadoProductos,
							//		"Se ha modificado el productos");
							txtNombre.setText("");
							txtPrecio.setText("");
						}
					}
				}
			}
		});
		GridBagConstraints gbc_btnModificarP = new GridBagConstraints();
		gbc_btnModificarP.fill = GridBagConstraints.VERTICAL;
		gbc_btnModificarP.insets = new Insets(0, 0, 5, 5);
		gbc_btnModificarP.gridx = 3;
		gbc_btnModificarP.gridy = 10;
		pListadoProductos.add(btnModificarP, gbc_btnModificarP);

		btnEliminarP = new JButton("Eliminar");
		btnEliminarP.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String nombre = (String) tableProductos.getValueAt(
						tableProductos.getSelectedRow(), 1);
				for (int i = 0; i < listaPP.size(); i++) {
					if (nombre.equals(listaPP.get(i).getNombre())) {
						listaPP.remove(i);
						tableProductos.setModel(anadirProductosP(listaPP));
						//ventanaEmergente.showMessageDialog(pListadoProductos,
						//		"Se ha eliminado el productos");
						txtNombre.setText("");
						txtPrecio.setText("");
					}
				}
			}
		});
		GridBagConstraints gbc_btnEliminarP = new GridBagConstraints();
		gbc_btnEliminarP.fill = GridBagConstraints.VERTICAL;
		gbc_btnEliminarP.insets = new Insets(0, 0, 5, 5);
		gbc_btnEliminarP.gridx = 4;
		gbc_btnEliminarP.gridy = 10;
		pListadoProductos.add(btnEliminarP, gbc_btnEliminarP);

		JPanel pGestion = new JPanel();
		pGestion.setToolTipText("");
		tabbedPane.addTab("Gesti\u00F3n Cliente", null, pGestion, null);
		GridBagLayout gbl_pGestion = new GridBagLayout();
		gbl_pGestion.columnWidths = new int[] { 69, 68, 139, 161, 113, 4, 55,
				33, 87, 0, 0 };
		gbl_pGestion.rowHeights = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 16, 0, 0 };
		gbl_pGestion.columnWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0,
				0.0, 0.0, 0.0, 1.0, 1.0, Double.MIN_VALUE };
		gbl_pGestion.rowWeights = new double[] { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,
				0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, Double.MIN_VALUE };
		pGestion.setLayout(gbl_pGestion);
		
		JLabel lblCif = new JLabel("CIF");
		GridBagConstraints gbc_lblCif = new GridBagConstraints();
		gbc_lblCif.anchor = GridBagConstraints.EAST;
		gbc_lblCif.insets = new Insets(0, 0, 5, 5);
		gbc_lblCif.gridx = 4;
		gbc_lblCif.gridy = 2;
		pGestion.add(lblCif, gbc_lblCif);

		txtCif = new JTextField();
		GridBagConstraints gbc_txtCif = new GridBagConstraints();
		gbc_txtCif.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtCif.gridwidth = 2;
		gbc_txtCif.insets = new Insets(0, 0, 5, 5);
		gbc_txtCif.gridx = 5;
		gbc_txtCif.gridy = 2;
		pGestion.add(txtCif, gbc_txtCif);
		txtCif.setColumns(10);

		JScrollPane scrollPane_1 = new JScrollPane();
		scrollPane_1.setBorder(new TitledBorder(null, "Clientes", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints();
		gbc_scrollPane_1.gridheight = 9;
		gbc_scrollPane_1.gridwidth = 3;
		gbc_scrollPane_1.insets = new Insets(0, 0, 5, 5);
		gbc_scrollPane_1.fill = GridBagConstraints.BOTH;
		gbc_scrollPane_1.gridx = 1;
		gbc_scrollPane_1.gridy = 2;
		pGestion.add(scrollPane_1, gbc_scrollPane_1);

		tableClientes = new JTable();
		scrollPane_1.setViewportView(tableClientes);
		tableClientes.addMouseListener(new MouseListener() {
			public void mouseClicked(MouseEvent arg0) {
				String CIF = (String) tableClientes.getValueAt(
						tableClientes.getSelectedRow(), 0);
				for (int i = 0; i < listaC.size(); i++) {
					if (CIF.equals(listaC.get(i).getCIF())) {
						txtCif.setText(listaC.get(i).getCIF());
						txtnombre.setText(listaC.get(i).getNombre());
						txtdireccion.setText(listaC.get(i).getDireccion());
						txtpais.setText(listaC.get(i).getPais());
						lblFechaAlta.setText(listaC.get(i).getFecha_alta());
						txtcp.setText(String.valueOf(listaC.get(i).getCp()));
						txtprovincia.setText(listaC.get(i).getProvincia());
					}
				}

			}

			public void mouseEntered(MouseEvent e) {
			}

			public void mouseExited(MouseEvent e) {
			}

			public void mousePressed(MouseEvent e) {
			}

			public void mouseReleased(MouseEvent e) {
			}
		});
		JLabel lblNombre = new JLabel("Nombre");
		GridBagConstraints gbc_lblNombre = new GridBagConstraints();
		gbc_lblNombre.anchor = GridBagConstraints.EAST;
		gbc_lblNombre.insets = new Insets(0, 0, 5, 5);
		gbc_lblNombre.gridx = 4;
		gbc_lblNombre.gridy = 3;
		pGestion.add(lblNombre, gbc_lblNombre);

		txtnombre = new JTextField();
		GridBagConstraints gbc_txtnombre = new GridBagConstraints();
		gbc_txtnombre.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtnombre.gridwidth = 2;
		gbc_txtnombre.insets = new Insets(0, 0, 5, 5);
		gbc_txtnombre.gridx = 5;
		gbc_txtnombre.gridy = 3;
		pGestion.add(txtnombre, gbc_txtnombre);
		txtnombre.setColumns(10);

		JLabel lblPais = new JLabel("Pais");
		GridBagConstraints gbc_lblPais = new GridBagConstraints();
		gbc_lblPais.anchor = GridBagConstraints.EAST;
		gbc_lblPais.insets = new Insets(0, 0, 5, 5);
		gbc_lblPais.gridx = 4;
		gbc_lblPais.gridy = 4;
		pGestion.add(lblPais, gbc_lblPais);

		txtpais = new JTextField();
		GridBagConstraints gbc_txtpais = new GridBagConstraints();
		gbc_txtpais.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtpais.gridwidth = 2;
		gbc_txtpais.insets = new Insets(0, 0, 5, 5);
		gbc_txtpais.gridx = 5;
		gbc_txtpais.gridy = 4;
		pGestion.add(txtpais, gbc_txtpais);
		txtpais.setColumns(10);

		JLabel lblProvincia = new JLabel("Provincia");
		GridBagConstraints gbc_lblProvincia = new GridBagConstraints();
		gbc_lblProvincia.anchor = GridBagConstraints.EAST;
		gbc_lblProvincia.insets = new Insets(0, 0, 5, 5);
		gbc_lblProvincia.gridx = 4;
		gbc_lblProvincia.gridy = 5;
		pGestion.add(lblProvincia, gbc_lblProvincia);

		txtprovincia = new JTextField();
		GridBagConstraints gbc_txtprovincia = new GridBagConstraints();
		gbc_txtprovincia.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtprovincia.gridwidth = 3;
		gbc_txtprovincia.insets = new Insets(0, 0, 5, 5);
		gbc_txtprovincia.gridx = 5;
		gbc_txtprovincia.gridy = 5;
		pGestion.add(txtprovincia, gbc_txtprovincia);
		txtprovincia.setColumns(10);

		JLabel lblDireccion = new JLabel("Direcci\u00F3n");
		GridBagConstraints gbc_lblDireccion = new GridBagConstraints();
		gbc_lblDireccion.anchor = GridBagConstraints.EAST;
		gbc_lblDireccion.insets = new Insets(0, 0, 5, 5);
		gbc_lblDireccion.gridx = 4;
		gbc_lblDireccion.gridy = 6;
		pGestion.add(lblDireccion, gbc_lblDireccion);

		txtdireccion = new JTextField();
		GridBagConstraints gbc_txtdireccion = new GridBagConstraints();
		gbc_txtdireccion.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtdireccion.gridwidth = 3;
		gbc_txtdireccion.insets = new Insets(0, 0, 5, 5);
		gbc_txtdireccion.gridx = 5;
		gbc_txtdireccion.gridy = 6;
		pGestion.add(txtdireccion, gbc_txtdireccion);
		txtdireccion.setColumns(10);

		JLabel lblCodigoPostal = new JLabel("Codigo postal");
		GridBagConstraints gbc_lblCodigoPostal = new GridBagConstraints();
		gbc_lblCodigoPostal.anchor = GridBagConstraints.EAST;
		gbc_lblCodigoPostal.insets = new Insets(0, 0, 5, 5);
		gbc_lblCodigoPostal.gridx = 4;
		gbc_lblCodigoPostal.gridy = 7;
		pGestion.add(lblCodigoPostal, gbc_lblCodigoPostal);

		txtcp = new JTextField();
		GridBagConstraints gbc_txtcp = new GridBagConstraints();
		gbc_txtcp.gridwidth = 2;
		gbc_txtcp.fill = GridBagConstraints.HORIZONTAL;
		gbc_txtcp.insets = new Insets(0, 0, 5, 5);
		gbc_txtcp.gridx = 5;
		gbc_txtcp.gridy = 7;
		pGestion.add(txtcp, gbc_txtcp);
		txtcp.setColumns(10);

		JLabel lblFechaDeAlta = new JLabel("Fecha de Alta");
		GridBagConstraints gbc_lblFechaDeAlta = new GridBagConstraints();
		gbc_lblFechaDeAlta.anchor = GridBagConstraints.EAST;
		gbc_lblFechaDeAlta.insets = new Insets(0, 0, 5, 5);
		gbc_lblFechaDeAlta.gridx = 4;
		gbc_lblFechaDeAlta.gridy = 8;
		pGestion.add(lblFechaDeAlta, gbc_lblFechaDeAlta);

		cBDia = new JComboBox();
		cBDia.setModel(new DefaultComboBoxModel(new String[] { "", "1", "2",
				"3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
				"14", "15", "16", "17", "18", "19", "20", "21", "22", "23",
				"24", "25", "26", "27", "28", "29", "30", "31" }));
		GridBagConstraints gbc_cBDia = new GridBagConstraints();
		gbc_cBDia.insets = new Insets(0, 0, 5, 5);
		gbc_cBDia.fill = GridBagConstraints.HORIZONTAL;
		gbc_cBDia.gridx = 5;
		gbc_cBDia.gridy = 8;
		pGestion.add(cBDia, gbc_cBDia);

		cBMes = new JComboBox();
		cBMes.setModel(new DefaultComboBoxModel(new String[] { "", "Enero",
				"Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
				"Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" }));
		GridBagConstraints gbc_cBMes = new GridBagConstraints();
		gbc_cBMes.insets = new Insets(0, 0, 5, 5);
		gbc_cBMes.fill = GridBagConstraints.HORIZONTAL;
		gbc_cBMes.gridx = 6;
		gbc_cBMes.gridy = 8;
		pGestion.add(cBMes, gbc_cBMes);

		cBAno = new JComboBox();
		cBAno.setModel(new DefaultComboBoxModel(new String[] { "", "2014",
				"2015", "2016", "2017", "2018", "2019", "2020" }));
		GridBagConstraints gbc_cBAno = new GridBagConstraints();
		gbc_cBAno.insets = new Insets(0, 0, 5, 5);
		gbc_cBAno.fill = GridBagConstraints.HORIZONTAL;
		gbc_cBAno.gridx = 7;
		gbc_cBAno.gridy = 8;
		pGestion.add(cBAno, gbc_cBAno);
		
		btnAnadir = new JButton("A\u00F1adir");
		btnAnadir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String CIF = txtCif.getText();
				String nombre = txtnombre.getText();
				String direccion = txtdireccion.getText();
				String pais = txtpais.getText();
				String fechaA = cBDia.getSelectedItem().toString() + "/"
						+ cBMes.getSelectedItem().toString() + "/"
						+ cBAno.getSelectedItem().toString();
				int cp = Integer.valueOf(txtcp.getText());
				String provincia = txtprovincia.getText();

				boolean a = false;
				for (int i = 0; i < listaC.size(); i++) {
					if (nombre.equals(listaC.get(i).getNombre())) {
						//ventanaEmergente.showMessageDialog(pListadoProductos,
						//		"Este cliente ya existe");
						a = true;
					}
				}
				if (!a) {
					listaC.add(new EmpresaCliente(CIF, nombre, direccion,
							provincia, pais, cp, fechaA));
					tableClientes.setModel(anadirCliente(listaC));
					//ventanaEmergente.showMessageDialog(pListadoProductos,
					//		"Se ha añadido un Cliente");
				}

			}
		});

		lblFechaAlta = new JLabel("");
		GridBagConstraints gbc_lblFechaAlta = new GridBagConstraints();
		gbc_lblFechaAlta.gridwidth = 3;
		gbc_lblFechaAlta.insets = new Insets(0, 0, 5, 5);
		gbc_lblFechaAlta.gridx = 5;
		gbc_lblFechaAlta.gridy = 9;
		pGestion.add(lblFechaAlta, gbc_lblFechaAlta);
		btnAnadir.setActionCommand("");
		GridBagConstraints gbc_btnAnadir = new GridBagConstraints();
		gbc_btnAnadir.fill = GridBagConstraints.VERTICAL;
		gbc_btnAnadir.insets = new Insets(0, 0, 5, 5);
		gbc_btnAnadir.gridx = 1;
		gbc_btnAnadir.gridy = 12;
		pGestion.add(btnAnadir, gbc_btnAnadir);

		btnModificar = new JButton("Modificar ");
		btnModificar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String CIF1 = (String) tableClientes.getValueAt(
						tableClientes.getSelectedRow(), 0);
				String CIF = txtCif.getText();
				String nombre = txtnombre.getText();
				String direccion = txtdireccion.getText();
				String pais = txtpais.getText();
				String fechaA = cBDia.getSelectedItem().toString() + "/"
						+ cBMes.getSelectedItem().toString() + "/"
						+ cBAno.getSelectedItem().toString();
				int cp = Integer.valueOf(txtcp.getText());
				String provincia = txtprovincia.getText();
				for (int i = 0; i < listaC.size(); i++) {
					if (CIF1.equals(listaC.get(i).getCIF())) {
						listaC.get(i).setNombre(nombre);
						listaC.get(i).setCIF(CIF);
						listaC.get(i).setDireccion(direccion);
						listaC.get(i).setCp(cp);
						listaC.get(i).setPais(pais);
						listaC.get(i).setFecha_alta(fechaA);
						listaC.get(i).setProvincia(provincia);
						tableClientes.setModel(anadirCliente(listaC));
						//JOptionPane.showMessageDialog(pListadoProductos,
						//		"Se ha modificado el Cliente");
						txtCif.setText("");
						txtnombre.setText("");
						txtdireccion.setText("");
						txtpais.setText("");
						cBDia.setSelectedIndex(0);
						cBMes.setSelectedIndex(0);
						cBAno.setSelectedIndex(0);
						txtcp.setText("");
						txtprovincia.setText("");
						lblFechaAlta.setText("");

					}
				}
			}
		});
		GridBagConstraints gbc_btnModificar = new GridBagConstraints();
		gbc_btnModificar.fill = GridBagConstraints.VERTICAL;
		gbc_btnModificar.insets = new Insets(0, 0, 5, 5);
		gbc_btnModificar.gridx = 2;
		gbc_btnModificar.gridy = 12;
		pGestion.add(btnModificar, gbc_btnModificar);

		btnEliminar = new JButton("Eliminar");
		btnEliminar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String CIF = (String) tableClientes.getValueAt(
						tableClientes.getSelectedRow(), 0);
				for (int i = 0; i < listaC.size(); i++) {
					if (CIF.equals(listaC.get(i).getCIF())) {
						listaC.remove(i);
						tableClientes.setModel(anadirCliente(listaC));
						//JOptionPane.showMessageDialog(pListadoProductos,
						//		"Se ha eliminado el Cliente");
						txtCif.setText("");
						txtnombre.setText("");
						txtdireccion.setText("");
						txtpais.setText("");
						cBDia.setSelectedIndex(0);
						cBMes.setSelectedIndex(0);
						cBAno.setSelectedIndex(0);
						txtcp.setText("");
						txtprovincia.setText("");
						lblFechaAlta.setText("");
					}
				}
			}
		});
		GridBagConstraints gbc_btnEliminar = new GridBagConstraints();
		gbc_btnEliminar.anchor = GridBagConstraints.WEST;
		gbc_btnEliminar.fill = GridBagConstraints.VERTICAL;
		gbc_btnEliminar.insets = new Insets(0, 0, 5, 5);
		gbc_btnEliminar.gridx = 3;
		gbc_btnEliminar.gridy = 12;
		pGestion.add(btnEliminar, gbc_btnEliminar);

		JButton btnAvisoEnvio = new JButton("Aviso Envio");
		btnAvisoEnvio.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			}
		});
		GridBagConstraints gbc_btnAvisoEnvio = new GridBagConstraints();
		gbc_btnAvisoEnvio.anchor = GridBagConstraints.EAST;
		gbc_btnAvisoEnvio.insets = new Insets(0, 0, 5, 5);
		gbc_btnAvisoEnvio.gridx = 4;
		gbc_btnAvisoEnvio.gridy = 12;
		pGestion.add(btnAvisoEnvio, gbc_btnAvisoEnvio);

		btnV = new JButton("Mostrar Existencias");
		btnV.addActionListener(new ActionListener() {
			@SuppressWarnings("static-access")
			public void actionPerformed(ActionEvent arg0) {	
				listaPedido=VentanaCliente.getlistaPedido();
				String CIF=(String) tableClientes.getValueAt(tableClientes.getSelectedRow(), 0);
				for(int i=0;i<listaPedido.size();i++){
					if(listaPedido.get(i).getCliente().equals(CIF)){
						vexistencias.setVisible(true);
						vexistencias.llenarProductosC(listaPedido.get(i).getListaPC());
						vexistencias.setDefaultCloseOperation(vexistencias.HIDE_ON_CLOSE);						
					}
				}				
			}
		});
		GridBagConstraints gbc_btnV = new GridBagConstraints();
		gbc_btnV.anchor = GridBagConstraints.WEST;
		gbc_btnV.gridwidth = 2;
		gbc_btnV.insets = new Insets(0, 0, 5, 5);
		gbc_btnV.gridx = 5;
		gbc_btnV.gridy = 12;
		pGestion.add(btnV, gbc_btnV);
		
		btnCerrarSesion = new JButton("Cerrar Sesion");
		btnCerrarSesion.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//String []args={"java","VentanaLogin"};
				//VentanaLogin.main(args);
				VentanaLogin.window.frmLogin.setVisible(true);
				
			}
		});
		GridBagConstraints gbc_btnCerrarSesion = new GridBagConstraints();
		gbc_btnCerrarSesion.anchor = GridBagConstraints.EAST;
		gbc_btnCerrarSesion.gridx = 0;
		gbc_btnCerrarSesion.gridy = 1;
		contentPane.add(btnCerrarSesion, gbc_btnCerrarSesion);
		JButton btnCerrarSesion1 = new JButton("Cerrar Sesion");
		btnCerrarSesion1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {				
				
			}
		});
		GridBagConstraints gbc_btnCerrarSesion1 = new GridBagConstraints();
		gbc_btnCerrarSesion1.anchor = GridBagConstraints.NORTHEAST;
		gbc_btnCerrarSesion1.gridx = 0;
		gbc_btnCerrarSesion1.gridy = 1;
		contentPane.add(btnCerrarSesion1, gbc_btnCerrarSesion1);
	}
	public void cargarProductosP(Productos[] aux) throws Exception {
		producto = aux;
		for (int i = 0; i < producto.length; i++) {
			listaPP.add(producto[i]);
		}
		String titulos[] = { "ID", "Nombre", "Precio" };
		String datos[] = new String[3];
		m = new DefaultTableModel(null, titulos);
		for (int i = 0; i < producto.length; i++) {
			datos[0] = String.valueOf(i + 1);
			datos[1] = aux[i].getNombre();
			datos[2] = aux[i].getPrecio();
			m.addRow(datos);
		}
		tableProductos.setModel(m);

	}

	public DefaultTableModel anadirProductosP(LinkedList<Productos> lista) {
		String titulos[] = { "Id", "Nombre", "Precio" };
		String datos[] = new String[3];
		DefaultTableModel model = new DefaultTableModel(null, titulos);
		for (int i = 0; i < lista.size(); i++) {
			datos[0] = String.valueOf(i + 1);
			datos[1] = lista.get(i).getNombre();
			datos[2] = lista.get(i).getPrecio();
			model.addRow(datos);
		}
		return model;
	}

	public DefaultTableModel anadirCliente(LinkedList<EmpresaCliente> lista) {
		String titulos[] = { "CIF", "Nombre", "Direccion", "Provincia" };
		String datos[] = new String[4];
		DefaultTableModel model = new DefaultTableModel(null, titulos);
		for (int i = 0; i < lista.size(); i++) {
			datos[0] = lista.get(i).getCIF();
			datos[1] = lista.get(i).getNombre();
			datos[2] = lista.get(i).getDireccion();
			datos[3] = lista.get(i).getProvincia();
			model.addRow(datos);
		}
		return model;
	}

	public void cargarCliente(EmpresaCliente[] aux) throws Exception {
		cliente = aux;
		for (int i = 0; i < cliente.length; i++) {
			listaC.add(cliente[i]);
		}
		String titulos[] = { "CIF", "Nombre", "Direccion", "Provincia" };
		String datos[] = new String[4];
		m = new DefaultTableModel(null, titulos);
		for (int i = 0; i < aux.length; i++) {
			datos[0] = aux[i].getCIF();
			datos[1] = aux[i].getNombre();
			datos[2] = aux[i].getDireccion();
			datos[3] = aux[i].getProvincia();
			m.addRow(datos);
		}
		tableClientes.setModel(m);

	}
}
